<!DOCTYPE html>
<html>
<head>
	<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
	<meta name="generator" content="ApiGen 2.6.0" />
	<meta name="robots" content="noindex" />

	<title>File bootstrap.php</title>

	<script type="text/javascript" src="resources/combined.js?428767200"></script>
	<script type="text/javascript" src="elementlist.js?4200546020"></script>
	<link rel="stylesheet" type="text/css" media="all" href="resources/style.css?2495970611" />

</head>

<body>
<div id="left">
	<div id="menu">
		<a href="index.html" title="Overview"><span>Overview</span></a>


		<div id="groups">
			<h3>Namespaces</h3>
			<ul>
				<li class="active"><a href="namespace-None.html">None</a>
						</li>
				<li><a href="namespace-PHP.html">PHP</a>
						</li>
			</ul>
		</div>

		<hr />


		<div id="elements">
			<h3>Classes</h3>
			<ul>
				<li><a href="class-DIBase.html">DIBase</a></li>
				<li><a href="class-DIConfig.html">DIConfig</a></li>
				<li><a href="class-DIContext.html">DIContext</a></li>
				<li><a href="class-DIContext_Inject.html">DIContext_Inject</a></li>
				<li><a href="class-DIDBConfig.html" class="invalid">DIDBConfig</a></li>
				<li><a href="class-DIDo.html">DIDo</a></li>
				<li><a href="class-DIEntity.html">DIEntity</a></li>
				<li><a href="class-DIError.html">DIError</a></li>
				<li><a href="class-DIErrorCode.html">DIErrorCode</a></li>
				<li><a href="class-DIEvent.html">DIEvent</a></li>
				<li><a href="class-DIFilterMap.html">DIFilterMap</a></li>
				<li><a href="class-DIFilterUtil.html">DIFilterUtil</a></li>
				<li><a href="class-DIInclude.html">DIInclude</a></li>
				<li><a href="class-DIIncludeConfig.html">DIIncludeConfig</a></li>
				<li><a href="class-DIInject.html">DIInject</a></li>
				<li><a href="class-DILet.html">DILet</a></li>
				<li><a href="class-DIModel.html">DIModel</a></li>
				<li><a href="class-DIModelUtil.html">DIModelUtil</a></li>
				<li><a href="class-DIMySQL.html">DIMySQL</a></li>
				<li><a href="class-DIRoute.html">DIRoute</a></li>
				<li><a href="class-DIRuntime.html">DIRuntime</a></li>
				<li><a href="class-DIRuntime_Imported.html">DIRuntime_Imported</a></li>
				<li><a href="class-DIService.html">DIService</a></li>
				<li><a href="class-DITpl.html">DITpl</a></li>
				<li><a href="class-DIUrlShell.html">DIUrlShell</a></li>
				<li><a href="class-Global1Filter.html">Global1Filter</a></li>
				<li><a href="class-Global2Filter.html">Global2Filter</a></li>
				<li><a href="class-Global3Filter.html">Global3Filter</a></li>
				<li><a href="class-OrekiUtil.html">OrekiUtil</a></li>
				<li><a href="class-TemplateDo.html">TemplateDo</a></li>
				<li><a href="class-Test.html">Test</a></li>
				<li><a href="class-TestDo.html">TestDo</a></li>
				<li><a href="class-TestInject.html">TestInject</a></li>
				<li><a href="class-TesttestDo.html">TesttestDo</a></li>
				<li><a href="class-XxxFilter.html">XxxFilter</a></li>
				<li><a href="class-YyyFilter.html">YyyFilter</a></li>
			</ul>

			<h3>Interfaces</h3>
			<ul>
				<li><a href="class-DIEvent_AppendFuncListener.html">DIEvent_AppendFuncListener</a></li>
				<li><a href="class-DIEvent_AppendVariableListener.html">DIEvent_AppendVariableListener</a></li>
				<li><a href="class-DIEvent_CallFuncListener.html">DIEvent_CallFuncListener</a></li>
				<li><a href="class-DIEvent_CallStaticFuncListener.html">DIEvent_CallStaticFuncListener</a></li>
				<li><a href="class-DIEvent_ClassCallListener.html">DIEvent_ClassCallListener</a></li>
				<li><a href="class-DIEvent_DestroyListener.html">DIEvent_DestroyListener</a></li>
				<li><a href="class-DIEvent_GetStaticVariableListener.html">DIEvent_GetStaticVariableListener</a></li>
				<li><a href="class-DIEvent_GetVariableListener.html">DIEvent_GetVariableListener</a></li>
				<li><a href="class-DIEvent_ObjCallListener.html">DIEvent_ObjCallListener</a></li>
				<li><a href="class-DIEvent_ObjCreateListener.html">DIEvent_ObjCreateListener</a></li>
				<li><a href="class-DIEvent_SetStaticVariableListener.html">DIEvent_SetStaticVariableListener</a></li>
				<li><a href="class-DIEvent_SetVariableListener.html">DIEvent_SetVariableListener</a></li>
				<li><a href="class-DIEventListener.html">DIEventListener</a></li>
				<li><a href="class-DIFilter.html">DIFilter</a></li>
				<li><a href="class-DIModelTemplate.html">DIModelTemplate</a></li>
			</ul>


			<h3>Exceptions</h3>
			<ul>
				<li><a href="class-DIException.html">DIException</a></li>
			</ul>


			<h3>Functions</h3>
			<ul>
				<li><a href="function-__autoload.html">__autoload</a></li>
				<li><a href="function-arg.html">arg</a></li>
				<li><a href="function-array_unset.html">array_unset</a></li>
				<li class="active"><a href="function-bt_page.html">bt_page</a></li>
				<li><a href="function-bt_shell_page.html">bt_shell_page</a></li>
				<li><a href="function-component_exist.html">component_exist</a></li>
				<li><a href="function-create_class.html">create_class</a></li>
				<li><a href="function-dump.html">dump</a></li>
				<li><a href="function-getip.html">getip</a></li>
				<li><a href="function-import.html">import</a></li>
				<li><a href="function-inject.html">inject</a></li>
				<li><a href="function-inject_dymic.html">inject_dymic</a></li>
				<li><a href="function-inject_full.html">inject_full</a></li>
				<li><a href="function-inject_func.html">inject_func</a></li>
				<li><a href="function-injectObjFunc.html">injectObjFunc</a></li>
				<li><a href="function-invoke_func.html">invoke_func</a></li>
				<li><a href="function-invoke_method.html">invoke_method</a></li>
				<li><a href="function-let.html">let</a></li>
				<li><a href="function-let_exists.html">let_exists</a></li>
				<li><a href="function-params_to_str.html">params_to_str</a></li>
				<li><a href="function-putjson.html">putjson</a></li>
				<li><a href="function-putjsonp.html">putjsonp</a></li>
				<li><a href="function-redirect.html">redirect</a></li>
				<li><a href="function-ref_arr.html">ref_arr</a></li>
				<li><a href="function-session.html">session</a></li>
				<li><a href="function-session_exists.html">session_exists</a></li>
				<li><a href="function-session_remove.html">session_remove</a></li>
				<li><a href="function-url.html">url</a></li>
			</ul>
		</div>
	</div>
</div>

<div id="splitter"></div>

<div id="right">
<div id="rightInner">
	<form id="search">
		<input type="hidden" name="cx" value="" />
		<input type="hidden" name="ie" value="UTF-8" />
		<input type="text" name="q" class="text" />
		<input type="submit" value="Search" />
	</form>

	<div id="navigation">
		<ul>
			<li>
				<a href="index.html" title="Overview"><span>Overview</span></a>
			</li>
			<li>
				<a href="namespace-None.html" title="Summary of None"><span>Namespace</span></a>
			</li>
			<li>
				<a href="function-bt_page.html" title="Summary of bt_page"><span>Function</span></a>
			</li>
		</ul>
		<ul>
			<li>
				<a href="tree.html" title="Tree view of classes, interfaces, traits and exceptions"><span>Tree</span></a>
			</li>
		</ul>
		<ul>
		</ul>
	</div>

<pre><code><a href="#1" id="1" class="l"> 1: </a><span class="xlang">&lt;?php</span>
<a href="#2" id="2" class="l"> 2: </a><span class="php-comment">/**
</span><a href="#3" id="3" class="l"> 3: </a><span class="php-comment"> * 分页快速生成(适用于GET型的URL)
</span><a href="#4" id="4" class="l"> 4: </a><span class="php-comment"> * @param string $shell “?”之后紧跟的URL指令，如“test-test”、“a.b”
</span><a href="#5" id="5" class="l"> 5: </a><span class="php-comment"> * @param array $params GET参数，键名必须符合变量命名规范
</span><a href="#6" id="6" class="l"> 6: </a><span class="php-comment"> * @return string
</span><a href="#7" id="7" class="l"> 7: </a><span class="php-comment"> * @example
</span><a href="#8" id="8" class="l"> 8: </a><span class="php-comment"> *      &lt;?php import('bootstrap'); print bt_page('danmu/search', compact('pager'))?&gt;
</span><a href="#9" id="9" class="l"> 9: </a><span class="php-comment"> */</span>
<a href="#10" id="10" class="l">10: </a><span class="php-keyword1">function</span> bt_page(<span class="php-var">$shell</span>, <span class="php-var">$params</span>) {
<a href="#11" id="11" class="l">11: </a>    <span class="php-keyword1">if</span>( <span class="php-keyword1">empty</span>(<span class="php-var">$params</span>[<span class="php-quote">'pager'</span>]) ) <span class="php-keyword1">return</span> <span class="php-quote">''</span>;
<a href="#12" id="12" class="l">12: </a>
<a href="#13" id="13" class="l">13: </a>    <span class="php-var">$pager</span> = <span class="php-var">$params</span>[<span class="php-quote">'pager'</span>];
<a href="#14" id="14" class="l">14: </a>    <span class="php-var">$p</span> = <span class="php-keyword1">empty</span>(<span class="php-var">$params</span>[<span class="php-quote">'_p'</span>]) ? <span class="php-quote">'p'</span> : <span class="php-var">$params</span>[<span class="php-quote">'_p'</span>];<span class="php-comment">//_p何用？</span>
<a href="#15" id="15" class="l">15: </a>    <span class="php-keyword1">unset</span>(<span class="php-var">$params</span>[<span class="php-quote">'pager'</span>], <span class="php-var">$params</span>[<span class="php-quote">'_p'</span>]);
<a href="#16" id="16" class="l">16: </a>
<a href="#17" id="17" class="l">17: </a>    <span class="php-var">$page_str</span>=<span class="php-quote">'&lt;div class=&quot;pagination&quot;&gt;&lt;ul&gt;'</span>;
<a href="#18" id="18" class="l">18: </a>    <span class="php-keyword1">if</span>(<span class="php-var">$pager</span>[<span class="php-quote">'current_page'</span>]&gt;<span class="php-num">1</span>) {
<a href="#19" id="19" class="l">19: </a>        <span class="php-var">$params</span>[<span class="php-var">$p</span>] = <span class="php-var">$pager</span>[<span class="php-quote">'prev_page'</span>];
<a href="#20" id="20" class="l">20: </a>        <span class="php-var">$page_str</span> .= <span class="php-quote">'&lt;li&gt;&lt;a href=&quot;'</span> . url(<span class="php-var">$shell</span>, <span class="php-var">$params</span>) . <span class="php-quote">'&quot; rel=&quot;prev&quot; title=&quot;上一页&quot;&gt;上一页&lt;/a&gt;&lt;/li&gt;'</span>;
<a href="#21" id="21" class="l">21: </a>        <span class="php-keyword1">unset</span>(<span class="php-var">$params</span>[<span class="php-var">$p</span>]);
<a href="#22" id="22" class="l">22: </a>    }
<a href="#23" id="23" class="l">23: </a>
<a href="#24" id="24" class="l">24: </a>    <span class="php-keyword1">foreach</span>(<span class="php-var">$pager</span>[<span class="php-quote">'all_pages'</span>] <span class="php-keyword1">as</span> <span class="php-var">$value</span>) {
<a href="#25" id="25" class="l">25: </a>        <span class="php-keyword1">if</span>(<span class="php-var">$value</span>&gt;<span class="php-num">1</span>) <span class="php-var">$params</span>[<span class="php-var">$p</span>]=<span class="php-var">$value</span>;
<a href="#26" id="26" class="l">26: </a>        <span class="php-keyword1">if</span>( <span class="php-var">$value</span> == <span class="php-var">$pager</span>[<span class="php-quote">'current_page'</span>] ) {
<a href="#27" id="27" class="l">27: </a>            <span class="php-var">$current</span> = <span class="php-quote">'title=&quot;已经是当前页&quot; class=&quot;current&quot; '</span>;
<a href="#28" id="28" class="l">28: </a>            <span class="php-var">$page_str</span> .= <span class="php-quote">'&lt;li class=&quot;active&quot;&gt;&lt;a href=&quot;'</span> . url(<span class="php-var">$shell</span>, <span class="php-var">$params</span>) . <span class="php-quote">'&quot; '</span> . <span class="php-var">$current</span> . <span class="php-quote">'&gt;'</span> . <span class="php-var">$value</span> . <span class="php-quote">'&lt;/a&gt;&lt;/li&gt;'</span>;
<a href="#29" id="29" class="l">29: </a>        } <span class="php-keyword1">else</span> {
<a href="#30" id="30" class="l">30: </a>            <span class="php-var">$current</span> = <span class="php-quote">'title=&quot;第'</span>. <span class="php-var">$value</span> .<span class="php-quote">'页&quot; '</span>;
<a href="#31" id="31" class="l">31: </a>            <span class="php-var">$page_str</span> .= <span class="php-quote">'&lt;li&gt;&lt;a href=&quot;'</span> . url(<span class="php-var">$shell</span>, <span class="php-var">$params</span>) . <span class="php-quote">'&quot; '</span> . <span class="php-var">$current</span> . <span class="php-quote">'&gt;'</span> . <span class="php-var">$value</span> . <span class="php-quote">'&lt;/a&gt;&lt;/li&gt;'</span>;
<a href="#32" id="32" class="l">32: </a>        }
<a href="#33" id="33" class="l">33: </a>
<a href="#34" id="34" class="l">34: </a>    }
<a href="#35" id="35" class="l">35: </a>    <span class="php-keyword1">if</span>(<span class="php-var">$pager</span>[<span class="php-quote">'current_page'</span>]&lt;<span class="php-var">$pager</span>[<span class="php-quote">'total_page'</span>]){
<a href="#36" id="36" class="l">36: </a>        <span class="php-var">$params</span>[<span class="php-var">$p</span>] = <span class="php-var">$pager</span>[<span class="php-quote">'next_page'</span>];
<a href="#37" id="37" class="l">37: </a>        <span class="php-var">$page_str</span> .= <span class="php-quote">'&lt;li&gt;&lt;a href=&quot;'</span> . url(<span class="php-var">$shell</span>, <span class="php-var">$params</span>) . <span class="php-quote">'&quot; rel=&quot;next&quot; title=&quot;下一页&quot;&gt;下一页&lt;/a&gt;&lt;/li&gt;'</span>;
<a href="#38" id="38" class="l">38: </a>    }
<a href="#39" id="39" class="l">39: </a>
<a href="#40" id="40" class="l">40: </a>    <span class="php-keyword1">return</span> <span class="php-var">$page_str</span>.<span class="php-quote">&quot;&lt;/ul&gt;&lt;/div&gt;&quot;</span>;
<a href="#41" id="41" class="l">41: </a>}
<a href="#42" id="42" class="l">42: </a>
<a href="#43" id="43" class="l">43: </a><span class="php-comment">/**
</span><a href="#44" id="44" class="l">44: </a><span class="php-comment"> * 分页快速生成(适用于shell型的URL)
</span><a href="#45" id="45" class="l">45: </a><span class="php-comment"> * @param string $shell_tpml “?”之后紧跟的URL指令模板，如'danmu/search//{p}'、'danmu/search/5/{p}/abc'、'test-test1.{p}.hehe'
</span><a href="#46" id="46" class="l">46: </a><span class="php-comment"> * @param array $pager Model层计算出的pager，详见__model.php
</span><a href="#47" id="47" class="l">47: </a><span class="php-comment"> * @param string $tpml_search URL指令模板参数中的可替换字符串，如'danmu/search//{p}'中的“{p}”
</span><a href="#48" id="48" class="l">48: </a><span class="php-comment"> * @return string
</span><a href="#49" id="49" class="l">49: </a><span class="php-comment"> * @example
</span><a href="#50" id="50" class="l">50: </a><span class="php-comment"> *      &lt;?php import('bootstrap'); print bt_page('danmu/search//{p}', compact('pager'))?&gt;
</span><a href="#51" id="51" class="l">51: </a><span class="php-comment"> */</span>
<a href="#52" id="52" class="l">52: </a><span class="php-keyword1">function</span> bt_shell_page(<span class="php-var">$shell_tpml</span>, <span class="php-var">$pager</span>, <span class="php-var">$tpml_search</span> = <span class="php-quote">'{p}'</span>){
<a href="#53" id="53" class="l">53: </a>    <span class="php-keyword1">if</span> (<span class="php-keyword1">empty</span>(<span class="php-var">$shell_tpml</span>)) <span class="php-keyword1">return</span> <span class="php-quote">''</span>;
<a href="#54" id="54" class="l">54: </a>    <span class="php-keyword1">if</span> (<span class="php-keyword1">empty</span>(<span class="php-var">$pager</span>)) <span class="php-keyword1">return</span> <span class="php-quote">''</span>;
<a href="#55" id="55" class="l">55: </a>    
<a href="#56" id="56" class="l">56: </a>    <span class="php-var">$page_str</span>=<span class="php-quote">'&lt;div class=&quot;pagination&quot;&gt;&lt;ul&gt;'</span>;
<a href="#57" id="57" class="l">57: </a>    <span class="php-keyword1">if</span>(<span class="php-var">$pager</span>[<span class="php-quote">'current_page'</span>]&gt;<span class="php-num">1</span>) {
<a href="#58" id="58" class="l">58: </a>        <span class="php-var">$shell</span> = <span class="php-keyword2">str_replace</span>(<span class="php-var">$tpml_search</span>, <span class="php-var">$pager</span>[<span class="php-quote">'prev_page'</span>], <span class="php-var">$shell_tpml</span>);
<a href="#59" id="59" class="l">59: </a>        <span class="php-var">$page_str</span> .= <span class="php-quote">'&lt;li&gt;&lt;a href=&quot;'</span> . url(<span class="php-var">$shell</span>) . <span class="php-quote">'&quot; rel=&quot;prev&quot; title=&quot;上一页&quot;&gt;上一页&lt;/a&gt;&lt;/li&gt;'</span>;
<a href="#60" id="60" class="l">60: </a>    }
<a href="#61" id="61" class="l">61: </a>    
<a href="#62" id="62" class="l">62: </a>    <span class="php-keyword1">foreach</span>(<span class="php-var">$pager</span>[<span class="php-quote">'all_pages'</span>] <span class="php-keyword1">as</span> <span class="php-var">$value</span>) {
<a href="#63" id="63" class="l">63: </a>        <span class="php-keyword1">if</span>(<span class="php-var">$value</span> &gt;= <span class="php-num">1</span>) <span class="php-var">$shell</span> = <span class="php-keyword2">str_replace</span>(<span class="php-var">$tpml_search</span>, <span class="php-var">$value</span>, <span class="php-var">$shell_tpml</span>);
<a href="#64" id="64" class="l">64: </a>        <span class="php-keyword1">if</span>( <span class="php-var">$value</span> == <span class="php-var">$pager</span>[<span class="php-quote">'current_page'</span>] ) {
<a href="#65" id="65" class="l">65: </a>            <span class="php-var">$current</span> = <span class="php-quote">'title=&quot;已经是当前页&quot; class=&quot;current&quot; '</span>;
<a href="#66" id="66" class="l">66: </a>            <span class="php-var">$page_str</span> .= <span class="php-quote">'&lt;li class=&quot;active&quot;&gt;&lt;a href=&quot;'</span> . url(<span class="php-var">$shell</span>) . <span class="php-quote">'&quot; '</span> . <span class="php-var">$current</span> . <span class="php-quote">'&gt;'</span> . <span class="php-var">$value</span> . <span class="php-quote">'&lt;/a&gt;&lt;/li&gt;'</span>;
<a href="#67" id="67" class="l">67: </a>        } <span class="php-keyword1">else</span> {
<a href="#68" id="68" class="l">68: </a>            <span class="php-var">$current</span> = <span class="php-quote">'title=&quot;第'</span>. <span class="php-var">$value</span> .<span class="php-quote">'页&quot; '</span>;
<a href="#69" id="69" class="l">69: </a>            <span class="php-var">$page_str</span> .= <span class="php-quote">'&lt;li&gt;&lt;a href=&quot;'</span> . url(<span class="php-var">$shell</span>) . <span class="php-quote">'&quot; '</span> . <span class="php-var">$current</span> . <span class="php-quote">'&gt;'</span> . <span class="php-var">$value</span> . <span class="php-quote">'&lt;/a&gt;&lt;/li&gt;'</span>;
<a href="#70" id="70" class="l">70: </a>        }
<a href="#71" id="71" class="l">71: </a>    
<a href="#72" id="72" class="l">72: </a>    }
<a href="#73" id="73" class="l">73: </a>    
<a href="#74" id="74" class="l">74: </a>    <span class="php-keyword1">if</span> (<span class="php-var">$pager</span>[<span class="php-quote">'current_page'</span>] &lt; <span class="php-var">$pager</span>[<span class="php-quote">'total_page'</span>]) {
<a href="#75" id="75" class="l">75: </a>        <span class="php-var">$shell</span> = <span class="php-keyword2">str_replace</span>(<span class="php-var">$tpml_search</span>, <span class="php-var">$pager</span>[<span class="php-quote">'next_page'</span>], <span class="php-var">$shell_tpml</span>);
<a href="#76" id="76" class="l">76: </a>        <span class="php-var">$page_str</span> .= <span class="php-quote">'&lt;li&gt;&lt;a href=&quot;'</span> . url(<span class="php-var">$shell</span>) . <span class="php-quote">'&quot; rel=&quot;next&quot; title=&quot;下一页&quot;&gt;下一页&lt;/a&gt;&lt;/li&gt;'</span>;
<a href="#77" id="77" class="l">77: </a>    }
<a href="#78" id="78" class="l">78: </a>    
<a href="#79" id="79" class="l">79: </a>    <span class="php-keyword1">return</span> <span class="php-var">$page_str</span>.<span class="php-quote">&quot;&lt;/ul&gt;&lt;/div&gt;&quot;</span>;
<a href="#80" id="80" class="l">80: </a>}
<a href="#81" id="81" class="l">81: </a></code></pre>

	<div id="footer">
		 API documentation generated by <a href="http://apigen.org">ApiGen 2.6.0</a>
	</div>
</div>
</div>
</body>
</html>
